The TCP Modem EIE provides an interface to terminal servers or communication servers. A terminal server can use a single point to access multiple low speed, asynchronous ports that are connected to other serial communication devices such as a modem. Each modem can poll multiple remote devices.
The TCP Modem properties define the IP connection to the terminal server as well as the serial modem.
For more information regarding TCP/IP and cryouts and modems and dynamic IP addressing, see TCP/IP EIE.
For information about overriding communication device settings from the remote device, see Overriding Communication Settings.
Click the following image to see an example Device Editor:
A 64-bit version of this EIE is available. See 64-bit Device Drivers.
TCP Modem communication devices have three property pages: Port, Modem, and Modem Init Strings.
The Port properties specify the connection to the terminal server. The Modem properties specify the configuration parameters of the modem connected to the terminal server. Modem Init Strings are the initialization strings for the modem. One init string is designated as the default.
If you have a terminal server with three modems connected to it, you would have three TCP Modem communication devices in the DDS, one for each modem. All three TCP Modem communication devices would specify the same IP address; each would have a unique port.
Many of the Modem properties can be specified at the remote device level including the initialization string and the remote modem phone number.
To Maintain Connection between Modem and Remote Device
In general, think of the Connection and Inactivity properties on the Port page as an extension of the serial port. These specify the TCP connection to the modem. If the TCP is disconnected from the modem, the modem may still be connected to the remote device. To maintain the connection with the remote device, you must make sure that the Connection control and Disconnect properties on the Modem page are set such that the modem will maintain the connection with the remote device.
The following table lists and describes properties from the Port page of the TCP Modem Device Editor dialog box.
| Property | Description |
|---|---|
|
Device ID |
The unique identifier of an instance for this device. This free-form name must be unique in the DDS and the FAC. That is, it must be a name not used by any other communication device, import/export device, remote device, or facility. Valid characters are A-Z, 0-9, dash (-), underscore (_), and tilde (~). No spaces are allowed. 20 character maximum. Note: Tilde (~) is a valid character for both devices and facilities, but its use is not recommended. |
|
Description |
A free-form description of the device. 32 character maximum. |
|
IP address |
The address of the remote IP device. Number and name formats are acceptable. |
|
Port |
The socket number to which the modem is connected. |
|
Host mode |
Master Mode This default mode allows any message to be sent. NonMaster Mode This mode is remote device EIE-specific. It is not designed to allow write messages to be sent to an RTU. However, because each remote device EIE specifies what a write message is, you might still be able to send some write messages. |
|
Message delay (msec) |
The delay (in milliseconds) to wait before sending a message to the field device. If the field device also has a message delay, the greater value takes precedence. |
| Connection | |
|
Maintain connection |
Flag to maintain connection with the remote IP comm device. Note: Maintain connection and Close on inactivity work independently of each other. If both are set, then Maintain connection takes precedence. |
|
Attempt interval (sec) |
Defines the interval (in seconds) between attempts to connect with an unconnected remote IP device if Maintain connection is enabled. Note: Do not set the value of this property below the default unless you have a good metric for changing it. If you do lower this value, take into account the Attempt Timeout. |
| Keep-alive | |
|
Send character |
Applicable only when Maintain connection is enabled. Flag to send a character to the remote IP comm device when necessary to maintain a connection. This ensures that the field device on the other end does not terminate the connection. Use of this property is dependent upon the remote IP device. |
|
Character |
The character (ASCII value) to send to keep the connection alive. |
|
Interval (sec) |
The interval (in seconds) at which to send the Keep Alive Character. |
|
Enable Device |
Check to enable or disable the device. The default setting is disabled. The device will automatically disable if an invalid configuration is detected. The device can be re-enabled after the invalid configuration is fixed. |
| Inactivity | |
|
Close on inactivity |
Flag to close connection to remote IP comm device when no activity has occurred for the period of time specified by Max Duration. |
|
Max duration (sec) |
The maximum duration (in seconds) to allow for inactivity. Be aware that the remote IP device may have its own duration for inactivity. If the remote IP device's period is shorter, then the connection will be closed by the remote IP device. |
| Connection retries | |
|
Connect attempts |
Number of attempts to try to connect to the remote IP comm device. The value of this property is always 1. |
|
The time (in milliseconds) to wait when attempting the connection before marking the attempt as failed. |
|
| Device-not-ready events | |
|
Max events |
The Device-not-ready events field sets the maximum number of failed attempts (Max events) to connect to a field device before the communication device reaches a "Not Ready" state. If a communication device reaches a "Not Ready" state, the existing queue is emptied and new messages are not queued. You can reset the communication device by disabling then re-enabling it or you can enable the communication device using script. |
The following table lists and describes properties from the Modem page of the TCP Modem Device Editor dialog box.
| Property | Description |
|---|---|
|
Default phone number* |
The phone number that the modem will dial. |
|
Dialing prefix |
Dial prefix. |
|
Modem resp timeout (msec) |
Time (in milliseconds) to wait for a response from the modem. |
|
Init after hangup |
Flag to enable sending of init string after hang-up. |
|
Init before dial |
Flag to enable sending of init string before dial. |
| Connection control | |
|
Wait for connect time (sec)* |
Time (in seconds) to wait after dialing before connection. |
|
Connection retries* |
Number of retries before marking connection as failed. |
|
Dedicated line |
Flag to maintain a connection. |
|
Minimum disconnected time |
The minimum number of seconds for the communication device to wait after a modem hangup before trying to establish a new connection. |
| Auto answer | |
|
Enable auto answer |
Flag to allow modem to accept an incoming call. |
|
Max call duration (sec) |
Maximum time (in seconds) for an incoming call. |
|
Process on Inbound connection |
Flag to allow modem to process an incoming call. |
| Disconnect | |
|
Hang up after messages* |
Flag to hang-up once queue is empty. |
|
Min connect time (sec)* |
Time (in seconds) to wait before going to next field device in the queue. |
|
Disconnect if idle (sec)* |
Time (in seconds) to wait before disconnecting once queue is empty. |
|
Disconnect string |
String to send on disconnect. |
|
Hang up on new remote |
Hang up the connection to dial the new field device, even if the field device uses the same phone number. |
| Max dial out duration | |
|
Enforce max duration |
Flag to enable max call duration. |
|
Max call duration (sec) |
Maximum time (in seconds) of the outgoing call. |
* Property can be overridden on a per remote device basis.
This page contains the modem initialization strings. The default string is named InitString1 and its setting is: AT&F0E0V1&D2&C1&B1. (Consult your modem documentation initialization string options.)
You can create one or more initialization strings. For each remote device that uses the communications device, you can select which initialization string to use. Any initialization string can be set to the default.
To Add/Edit an Init String
To Set an Init String as the Default
A "Not Ready" event is defined as any failure of TCP/IP communications or a failure of the modem to respond when a response is expected. A TCP Modem EIE may place itself in the "Not Ready" state and take itself out of the "Not Ready" state. The occurrence of any event indicating that the modem is again available and functioning properly will cause the device to remove itself from the "Not Ready" state. A device in the "Not Ready" state will continue its normal activities as much as possible. If a TCP Modem EIE is not configured to establish a connection on its own (via Maintain connection), it will remain permanently in the "Not Ready" state until it is reset by the execution of a UIS command.
A TCP Modem EIE can be externally placed into or out of the "Not Ready" state by the execution of a UIS command.
Three system UIS commands manage the "Not Ready" state.
!SYRDYST8T — Sets the ready state to either true or false depending on the value of the required parameter "State".
!SYSETREDY — Sets the ready state to true and requires no parameters.
!SYCLRREDY — Sets the ready state to false and requires no parameters.